Cabaret: A Fortran Case Base Reasoning System for Porting Code to High Performance Systems
نویسندگان
چکیده
1 Introduction High performance architectures are now widely available. They are characterized by the use of fast microprocessors and they are moderately parallel with a shared memory (for instance the SGI Power Challenge). Reaching good performance on these machines requires to make good usage of the parallelism and of cache memories. Porting Fortran codes to these machines requires generally three phases : code cleaning 4], performance measurements and nally code transformations. The last two phases are iteratively repeated to achieve the desired performance. The code cleaning phase must not be seen as a simple phase. In many cases, this may consist in converting a program written in old style Fortran 77 to Fortran 90. Part of porting the code can be done automatically, but there still remains a large amount to be done by an expert \hand". The Cabaret project aims at providing a set of integrated tools for speeding up the process of porting applications to high performance architecture using a novel approach based on case base reasoning techniques 2]. The main idea is to be able to recover easily an existing solution to a current problem (or close to). In other words we want to capitalize experience. One advantage of the case base reasoning techniques is that it does not depend on a formalization of the problem. This is essential since porting code to high performance architectures can hardly be reduced to a set of rules. Some works 5, 1, 3] have been proposed to detect patterns in code that can be replaced by calls to library functions. Our approach radically diiers because our system allows the user to update, automatically, the database with its own solutions and patterns. Because program transformations and performance measurements are very time consuming we complement the case base reasoning techniques with a set of pre-deened program transformations and a set of automatic instrumentation capabilities. Because we want to validate the idea on large programs the implementation is based on, a professional Fortran parser, the Foresys system 6]. The organization of the system is shown in Figure 1. In the following we present an overview of the system. 2 Case-Base Reasoning for Code Porting The main assumption the system is built on it that software engineers tend to repeat themselves. When one has a solution to port a program to a given machine, it can be reused and shared by many others. This …
منابع مشابه
HPFStab: An HPF Conjugate Gradient Library
In this paper we present a case study of porting of a Conjugate Gradient library from CM Fortran on a Connection Machine 5 to High Performance Fortran (HPF) on a Silicon Graphics Power Challenge, addressing the issues of portability and performance. Conjugate Gradient Methods (CGM) are a broad category of linear algebra methods for solving the generalized equation A x= b. Through the process of...
متن کاملNAS Experiences of Porting CM Fortran Codes to HPF on IBM SP2 and SGI Power Challenge
Current Connection Machine (CM) Fortran codes developed for the CM-2 and the CM-5 represent an important class of parallel applications. Several users have employed CM Fortran codes in production mode on the CM-2 and the CM-5 for the last five to six years, constituting a heavy investment in terms of cost and time. With Thinking Machines Corporation’s decision to withdraw from the hardware busi...
متن کاملHybrid Fortran: High Productivity GPU Porting Framework Applied to Japanese Weather Prediction Model
In this work we use the GPU porting task for the operative Japanese weather prediction model “ASUCA” as an opportunity to examine productivity issues with OpenACC when applied to structured grid problems. We then propose “Hybrid Fortran”, an approach that combines the advantages of directive based methods (no rewrite of existing code necessary) with that of stencil DSLs (memory layout is abstra...
متن کاملImproving Agent Performance for Multi-Resource Negotiation Using Learning Automata and Case-Based Reasoning
In electronic commerce markets, agents often should acquire multiple resources to fulfil a high-level task. In order to attain such resources they need to compete with each other. In multi-agent environments, in which competition is involved, negotiation would be an interaction between agents in order to reach an agreement on resource allocation and to be coordinated with each other. In recent ...
متن کاملExperiences on Parallelizing Compilation for Development and Porting of Large Scale Applications on Distributed Memory Parallel Systems∗
High level environment, such as High Performance Fortran (HPF), supporting the development of parallel applications and porting of legacy codes to parallel architectures have not yet gained a broad acceptance and diffusion. Common objections claim difficulty of performance tuning, limitation of its application to regular, data parallel computations, and lack of robustness of parallelizing HPF c...
متن کامل